![]() クラスタリングネットワークトポロジ
专利摘要:
クラスタリングネットワークトポロジにおいて、スレーブデバイスのグループは並列アクセスされ、このため、リングに沿った待ち時間は、クラスタの個数に比例し、集積回路の個数には比例しない。クラスタのデバイスは、入力および出力リングセグメントを共有し、これにより、入力セグメントに到来するパケットは、クラスタ内のすべてのデバイスによって受信され、解釈される。すべての実施形態において、1つのクラスタにおけるスレーブ同士が、潜在的にはコントローラの指令に従って、それらのスレーブのうちの高々1つがいつでも出力セグメントをアクティブに駆動していることを確実にするように連携する。デバイスは、デバイスID、クラスタID、またはこれらの組み合わせを通じてアドレッシングされうる。本発明の実施形態は、マルチチップモジュール実装、および垂直回路積層の形態を利用するのに適している。 公开号:JP2011509634A 申请号:JP2010542225 申请日:2008-11-26 公开日:2011-03-24 发明作者:スティーヴン・エー・プリジビルスキー 申请人:モサイド・テクノロジーズ・インコーポレーテッド; IPC主号:H04L12-42
专利说明:
[0001] 関連出願の相互参照 本出願は、参照により本明細書に組み込まれている、2008年1月11日に出願した米国特許出願第12/013,148号の優先権を主張するものである。] [0002] 本発明は、一般的にリング型のネットワークトポロジに関するものであり、具体的には、スレーブデバイスのグループに並列アクセスすることで待ち時間を短縮しつつフォールトトレランスおよび他の特性を改善する、クラスタリングトポロジと呼ばれる、修正リング型トポロジに関するものである。] 背景技術 [0003] リング型トポロジ相互接続ネットワークでは、サブシステム内のすべてのデバイスは、リングまたはループ型構成に配列され、典型的にはすべての通信は、このリングに沿って一方向である。その結果、リング内のそれぞれのデバイスは、すぐ「前」にちょうど1つの他のデバイスおよびそれのすぐ「後」にちょうど1つのデバイスを有する。] [0004] 多くのリング型トポロジネットワークでは、リングは、物理的にも、また電気的にも、そのリングの中のそれぞれのデバイスによって切断される。これらのネットワークでは、リングそれ自体は、リング内のデバイス同士を接続する多数のリングセグメントで構成される。セグメントの個数は、リング内のデバイスの個数に等しい。それぞれのセグメント上の通信は、一方向であり、それぞれ、ちょうど1つのデバイスが情報をそのセグメント上に送るドライバ端とちょうど1つのデバイスが送り側デバイスから情報を受け取る1つのレシーバ端を有する。リング上のデバイスの観点からすると、デバイスが情報を受け取るリングのセグメントは、その入力セグメントと呼ばれ、デバイスが情報を送り出すセグメントは、その出力セグメントと呼ばれる。] [0005] リング内の1つのデバイスが、それがマスタデバイスであるという点で特別なデバイスであることは典型的である。これは、多くの場合、コントローラと同義語である。例えば、そのようなリングトポロジ相互接続部から構成されるメモリサブシステムでは、マスタまたはコントローラは、典型的には、リードコマンド、ライトコマンド、および他のコマンドをその制御下でリング上のメモリに発行することと、リングに沿ってデータ通信を調整することの両方の責任を有する。リング内の他のデバイスは、スレーブであり、典型的にはメモリであるが、これに限られるわけではない。これらのスレーブは、リング上でコントローラから送信されたコマンドに応答し、リードコマンドおよび他のコマンドの場合に、これもまたリングを介して、コントローラにデータを送り返す。一般的に、リング上の通信のタイミングは、コントローラによって決定され、スレーブ側で自由に開始することはできない。] [0006] リングトポロジは、概念的に単純であり、一般的に拡張性があり、デバイス1つ当たりの端子数が少なくて済むため普及している。また、2地点間通信のみが使用されるので、信号品位およびセグメント長の問題は、他の多くの相互接続トポロジの場合に比べてかなり扱いやすい。しかし、このクラスのリング型トポロジ相互接続には明白な著しい欠点が3つあり、これらは待ち時間、故障耐性、および消費電力に関係している。] [0007] 待ち時間に関しては、このクラスのすべてのネットワークにおいて、コントローラからアクセスされるデバイスに向かい、そしてコントローラに戻る経路のみが、リング内の他のすべてのデバイスを通る。そのようなものとして、スレーブにアクセスし、スレーブにコマンドを送り、データをコントローラに送り返すことによって応答する場合、オペレーションの待ち時間は、スレーブ内のオペレーションの固有待ち時間とリングに沿った通信待ち時間の2つの主要要素に分けられる。リングは、デバイスのそれぞれを通るので、これらのデバイスはそれぞれ、リングに沿って流れるコマンドおよびデータに対しある程度のわずかな待ち時間を生じさせる。それに加えて、リングセグメントそれ自体も、非自明な量を通信待ち時間に加える可能性がある。] [0008] すると、このクラスのリング型トポロジ相互接続の固有特性は、リングに沿った総待ち時間がデバイスを通る際のすべての待ち時間とそれらのデバイスを接続するリングセグメントの待ち時間の総和であることである。リングに沿った総待ち時間が重要であるのは、コントローラからデバイスへ、そして戻る際の総スレーブリードアクセスタイムが総リング待ち時間とスレーブデバイスの内部リードアクセス待ち時間の総和であるからである。総リング待ち時間の短縮は、総アクセス待ち時間がシステムレベルの性能に関わる大きな要素である状況に対して重要な前提条件である。したがって、いくつかの知られている例では、リング型トポロジネットワークは、多数のデバイスをサポートすることができることがあるけれども、待ち時間だけをとってみれば、かなりの数のデバイスを伴うすべてのアプリケーションにとって実用的とは言えないことがある。] [0009] リング型トポロジネットワークの他の大きな問題として、これらのネットワークが非フォールトトレラントであることが挙げられる。リング上のデバイスまたはセグメントのどれかが故障した場合、そのリングに沿った通信は、他のデバイスがまだ完全に機能しているとしても不可能になる。リング型トポロジネットワークのこの特徴は、いくつかのシステム環境では重大であるが、他のシステム環境では重大でない。しかし、特にメモリシステムの場合、単一の不良デバイスが存在している場合でもメモリサブシステムは完璧に動作することができるという要求条件を課すシステムアプリケーションが数多くある。] [0010] リング型トポロジネットワークの第3の重大な問題は、リング内のすべてのデバイスがネットワーク上でそれぞれのパケットを通信するために電力を消費するという点である。信号伝達技術によっては、リング内のすべてのスレーブが、コマンドパケット毎に(レシーバに関係なく)、またリードデータパケット毎に(発信元に関係なく)電力を消費する。対照的に、いくつかの他のネットワーク技術では、スレーブデバイスは、コントローラにリードデータを送り返すときのみ電力を消費する。したがって、2地点間通信であるとして、送信されるビット毎にスレーブによって消費される電力が小さい場合があるとしても、リング型トポロジネットワークの総電力効率は、いくつかの非リング型トポロジの代替ネットワークに比べて著しく悪化する可能性がある。] [0011] リング型トポロジネットワークのネガティブな特性のいくつかを緩和または回避する試みがすでになされている。これらの努力は、4つのカテゴリに分けられる。第1のカテゴリでは、総待ち時間が、デバイス毎の待ち時間をできる限り小さく保つことによって最小にされる。これは、米国特許第5,778,419号で、またRamLinkメモリインターフェース(スケーラブルコヒーレントインターフェース(SCI)信号伝達(RamLink)に基づく高帯域メモリインターフェースのIEEE標準、IEEE標準1596.4-1996)において開示されているアプローチである。他のアプローチでは、リング内のデバイスの個数を人為的に制限することによってリングに沿った総待ち時間を制限する。これは、米国特許第5,778,419号において明らかにされており、リング内のデバイスの個数は、5(1つのマスタと4つのスレーブ)に制限されている。] [0012] 第3の技術は、リングの階層を形成するものであり、一次リング(つまり、マスタ全体によって制御されるリング)上のデバイスのそれぞれは、スレーブのサブリングに対するマスタとして機能するエージェントである(図1を参照)。特定のスレーブをターゲットとするコマンドが、該当するエージェントによってインターセプトされ、ターゲットにされているスレーブを含む単一の特定のサブリング上でいくつかのコマンドに翻訳される。これらの欠点に対処する第4の方法は、同様に非リングベースデバイスを制御するエージェントのリングを備える方法である。例えば、図2では、それぞれのエージェントが、従来の並列メモリサブシステムを制御する。] [0013] これらの以前の解決策では、リング型トポロジの内在する利点を完全には活かすことができないか、または上述のリング型トポロジネットワークの問題を適切に解決することができない。例えば、n個のスレーブを備えるシステムに対する通信待ち時間を2×sqrt(n)にエージェント内の追加スケジューリング遅延を加えた値にまで短縮するためにリング型トポロジのリングを計算した。スレーブ毎の遅延を短縮することで、比例定数が小さくなるが、総通信待ち時間は、それでも、リング内のデバイスの数に比例する。リング内のデバイスの個数を小さな数値に制限することで、総通信待ち時間に上限が定められるが、より大きなシステムにおける相互接続の有用性も制限される。] [0014] リング型ネットワークの性能を改善するいくつかのアプローチでは、マルチチップモジュールを使用する必要がある。マルチチップモジュールは、マルチチップモジュールが実装されている基板またはキャリアへの一般的な一組の信号端子と一緒に複数の集積回路が収納されているパッケージング構造である。より正確な定義は、「発明を実施するための形態」の節で説明されている。リング型トポロジ相互接続へのマルチチップモジュール内の集積回路の直接的応用では、マルチチップモジュール内のすべてのデバイスをリングにシリアル接続する。この構成のトポロジおよび待ち時間は、あたかもそれぞれの集積回路がそれ専用のパッケージ内に収められ、パッケージはリングにシリアル接続されているかのようである。その結果が、図3に示されているものに相当するパッケージ断面であり、そこでは、リンクが金属線上の最下位デバイス内に入り、最下位デバイスを出て、一段上のデバイスに入り、というようにしてスタックを上り、金属線が一番上のデバイスをパッケージに接続してアウトバウンドリングセグメントを形成することで終わることがわかる。] [0015] 図3の構成は、いくつかの理由から理想的なものとは言えない。第1に、これらのデバイスは単一パッケージのように見えるけれども、論理的には5つのデバイスとして存在し、待ち時間もデバイス5個分ある。第2に、デバイスの対向側での受信セグメントと送信セグメントのこのような特定の配列は、都合がよくない場合がある。一般に、n個のデバイスからなるマルチチップモジュールは、物理的には1つのデバイスとして存在するが、論理的にはn個のデバイスとして存在する。この構成では、マルチチップモジュールアプローチが利用されない大きなリングの制限のいくつかに対処するために、マルチチップパッケージ内の集積回路の近接性を適切に活かすことができない。] [0016] 米国特許出願第12/013,148号明細書 米国特許第5,778,419号明細書 米国仮特許出願第60/902,003号明細書] 先行技術 [0017] IEEE標準1596.4-1996] 発明が解決しようとする課題 [0018] 本発明の実施形態は、スレーブデバイスのグループ(クラスタと称される)が並列アクセスされる、クラスタリングトポロジと称される修正されたリング型トポロジを対象とするものである。クラスタは、いくつかの点で、リング内の単一ノードとして振る舞う。この構成のおかげで、リングに沿った待ち時間は、クラスタの個数に比例し、集積回路の個数には比例しない。データ通信に関わる消費電力は、相当する従来のリング型ネットワークよりも小さく、実施形態は高度のフォールトトレランスに対応できる。トポロジ相互接続は、マルチチップモジュールおよび/または個別にパッケージングされた集積回路の使用にうまく適合される。] 課題を解決するための手段 [0019] 本発明の実施形態によれば、デバイスのグループは並列接続され、入力リングセグメントおよび出力リングセグメントを共有する。クラスタは、1つまたは複数のデバイスを含むが、実際には、1クラスタ当たりのデバイスの個数は、比較的少ない。多数の開示されている実施形態において、入力セグメントに到来するパケットは、クラスタ内のすべてのデバイスによって受信され、解釈される。他の実施形態では、受信パケットの入力および解釈を行わないように、1クラスタにつきどのスレーブもスリープ状態もしくは他の何らか形でのディセーブル状態でないか、いくつかのスレーブがスリープ状態もしくは他の何らか形でのディセーブル状態であるか、1つのスレーブを除くすべてのスレーブがスリープ状態もしくは他の何らか形でのディセーブル状態である。とにかく、すべての実施形態において、1つのクラスタにおけるスレーブ同士が、潜在的にはコントローラの指令に従って、それらのスレーブのうちの高々1つがいつでも出力セグメントをアクティブに駆動していることを確実にするように連携する。] [0020] 本発明の実施形態によるクラスタリングネットワークトポロジは、リング構成をとる入力および出力セグメントに相互接続されている複数のスレーブデバイスとパケット通信を行うコントローラデバイスを備え、それらのスレーブデバイスのうちの少なくとも一部は並列接続され、同じ入力および出力セグメントを共有する1つのクラスタを形成する。少なくとも1つの実施形態において、クラスタIDとデバイスIDの組み合わせによってアドレッシングされるデバイスでは、これにより、必要なビットの個数および関連する待ち時間が劇的に低減される。] [0021] これらのクラスタのうちの少なくとも1つにおいて、クラスタマスタとして指定されたデバイスは、クラスタ内の高々1つのスレーブが出力セグメントを駆動しているようにそのクラスタのスレーブを調整する動作をすることが可能である。クラスタのスレーブは、特定のスレーブが入力セグメントから出力セグメントへのデータ転送についてプライミングされていることを単一線上でクラスタマスタに知らせることができる。例えば、クラスタのスレーブは、単一マルチソースシングルデスティネーション導線上でクラスタマスタと通信することができる。あるいは、クラスタマスタが、クラスタ内のすべてのスレーブをターゲットとするコマンドのすべてを解釈し、これにより、どのスレーブがプライミングされているかを、スレーブから情報を直接受信することなくクラスタマスタが判定することができる。いずれにせよ、クラスタマスタは、どのスレーブ(もしあれば)がプライミングされているかに関係なく入力セグメントから出力セグメントにコマンドパケットを回送するように動作可能である。] [0022] 任意の適切な形態またはインテグレーションを利用することができるが、本発明のいくつかの実施形態は、マルチチップモジュール実装を活用することに適しており、その個別のクラスタ内における垂直積層の他の形態をそのスタック内の異なるレベルに割り当てることができる。これにより、入力セグメントはスタックの片側にあるすべてのデバイスに到来し、出力セグメントはスタックの他方の側から出ることができる。あるいは、金属線で、一方のデバイス上の入力セグメントボンディングパッドを縦方向に隣接するデバイス上のボンディングパッドに接続し、またスタックの出力セグメント側の相当する一組の接続部と接続することができる。本発明のネットワーク内のさまざまなデバイスは、メモリデバイスであってもよいが、本発明はこれに限定されるわけではない。] 図面の簡単な説明 [0023] 次に、例として、付属の図面を参照する。類似の、または同じ参照番号は、異なる図中で、類似のコンポーネントを示すために使用されている場合がある。 従来技術のトポロジによる複数のリングのうちの1つのリングの図である。 従来技術のネットワークトポロジによる複数のサブシステムからなるリングの図である。 従来技術によるリング型トポロジネットワークがそれぞれのデバイス内を通過するマルチチップモジュールの断面図である。 デバイスの1つがコントローラまたはマスタであるリング型トポロジ相互接続ネットワークの一例を示す図である。 入力および出力セグメントに関連付けられている信号を示す、リング型トポロジネットワークの他の図である。 図5のリング型ネットワークのスレーブデバイスに流れ込み、次いで流れ出るコマンドパケットおよびデータパケットのタイミング図である。 コマンドパケットの内部構造の図である。 例示的な一実施形態のネットワークトポロジによる複数のクラスタからなるリングの第1の例を示す図である。 図8のと異なるクラスタ内通信信号配列構成を有する複数のクラスタからなるリングの第2の例を示す図である。 一時的クラスタマスタステータスのアービトレーションを行うために使用されるクラスタ内リングを、デバイスIDの通信にどのように使用されるかを示す図である。 デバイスが垂直方向に積み重ねられ、スタック内のすべてのデバイスがクラスタリングネットワーク内の単一のクラスタを形成するマルチチップモジュールの断面図である。 デバイスが垂直方向に積み重ねられ、スタック内のすべてのデバイスがクラスタリングネットワーク内の単一のクラスタを形成する代替マルチチップモジュールの断面図である。 少なくとも1つの例によるクラスタリングトポロジ相互接続ネットワーク内のクラスタの図である。 すでに例示されているリング型ネットワークの単一スレーブの図である。 第1または第2の例と異なるクラスタ内通信信号配列構成を有する複数のクラスタからなるリングの第3の例を示す図である。] 実施例 [0024] 本発明の実施形態は、相互接続の有用性または有効性を制限しうる、多数のデバイスがリング内に含まれているときにリング型トポロジ相互接続だと長い待ち時間が生じる可能性があるという問題を解決する。本発明の実施形態は、既存のリング型ネットワークトポロジに関わる消費電力の多さおよびフォールトトレランスの低さに関連する問題も解決する。] [0025] 本発明の実施形態は、リング内の1つのデバイスがコントローラであるリング型トポロジ電子回路相互接続に関係するが、本発明は、これに限定されず、リング型トポロジネットワークの他の変更形態ならびに他のシステムおよびサブシステムタイプにも等しく応用される。本明細書では、「マスタ」および「コントローラ」という用語は、同義語として使用される。同様に、スレーブおよびメモリも、本発明の実施形態をもっぱらメモリデバイスであるスレーブデバイスに限定することなく同義語として使用される。本発明は、すべての、または一部の非メモリスレーブを含むリングにも等しく応用されることは理解される。それに加えて、本明細書では、「相互接続」、「ネットワーク」、および「相互接続ネットワーク」も同義語として使用され、素線の任意の集合体(全体としてまたは部分的に1つまたは複数のバスにまとめられている)が電子回路または相当するデバイスの集合体を直接的にまたは間接的に接続することを意味する。] [0026] 本発明の実施形態は、電子回路システムにおけるマルチチップモジュールの使用にも関係する。多くの場合において、複数のシリコン片を一緒にパッケージングして単一基板またはパッケージに仕上げる。これは、シリコン片が互いの上に置かれてスタックを形成する垂直方向、またはシリコン片同士が単一パッケージまたはモジュール内で横に並べて置かれる水平方向で、一般的になされる。変更形態は、複数のシリコン片(またはより一般的には、電子コンポーネントが少なくとも1つの表面上に製造された半導体材料の薄片)が、個別にパッケージングされ、次いで、パッケージが、スタック内で垂直方向に実装されるものである。少なくとも複数の例示的な実施形態は、これらすべての事例に適用されるが、開示されている実施形態は、一緒にパッケージングされたシリコン片のスタックに関して説明されている。] [0027] 本開示では、「マルチチップモジュール」という表現は、すべてのそのようなパッケージングまたは実装技術に関して一般的な用語となるように定義されており、そのような構造の任意の1つのスタイルまたは種類に限定されない。また、本開示では、集積回路は、限定はしないが、素線、トランジスタ、ダイオード、およびセンサなどの電子コンポーネントが材料の1つまたは複数の表面内に、または1つまたは複数の表面上に組み立てられたシリコン片または他の半導体材料片であると定義される。デバイスおよび集積回路という用語は、本明細書では同義語として使用される。] [0028] 「モジュール」という用語は、集積回路が上にまたは中に実装され、それらの集積回路をモジュールそれ自体が最終的に実装される媒体上の導線に接続しやすくするパッケージまたは基板または同様の構造物であると定義される。モジュールそれ自体は、相互接続以外の他の構造を含む場合も、含まない場合もあり、またそれに集積回路以外の他のコンポーネントが実装される場合も、実装されない場合もある。いくつかのマルチチップモジュールでは、金属線は、集積回路を互いに接続し、および/またはモジュールそれ自体に接続する。他の場合には、集積回路は、モジュールの一部である導線への直接接続を行う。例えば、マルチチップモジュールの1つの一般的な形態は、複数の集積回路が互いの上に実装されて垂直スタックを形成し、金属線が集積回路をモジュール内の導線に接続し、また集積回路同士を接続する1つのパッケージである。] [0029] 次に、図4を参照すると、例示的なリング型トポロジ相互接続ネットワーク400の図が示されている。ネットワーク400内では、情報は一方向のリングに沿って伝えられ、デバイスからデバイスへと流れる。この場合、図は、デバイスのうちの1つのデバイスが、メモリまたは他のメモリまたは非メモリスレーブデバイス411〜415にアクセスするコントローラまたはマスタデバイス410であるリングを示している。アドレス、データ、および制御情報はすべて、リングに沿って同じ方向に流れ、典型的には同じタイミングを使用し、また典型的には一部は同じ導線上で流れる。図5は、そのような1つのリング型トポロジネットワーク500の信号を示している。示されている例では、デバイス510〜513同士を接続して1つのリングにするリングのセグメントは、4本の導線からなるデータ経路と2つのストローブ信号を含む。情報は、パケット単位でリングに沿って流れる。図4は、リング内のそれぞれのスレーブが一意的なアドレスを有することも示している。示されている事例では、スレーブアドレスは、0から始まり、第1のスレーブがコントローラからパケットを受信し、アドレスはそこから最後のスレーブまで連続的に増える。] [0030] 例示されているネットワークの少なくともいくつかの場合において、パケットは、スレーブデバイスで発信しコントローラへと逆方向に流れるデータまたはコントローラで発信し、1つまたは複数のスレーブデバイスへと流れるコマンドパケットのいずれかを含む。これら2種類のパケットは、それぞれ、リードデータパケットおよびコマンドパケットと称される。コマンドパケットは、デバイスアドレスと1つまたは複数のスレーブが実行するコマンドとを含む。コマンドパケットのデバイスアドレス部分は、パケットの1バイト目であり、これは、どの1つまたは複数のデバイスがコマンドを実行すべきかを指定する。コマンドの意味に応じて、コマンドパケットの残り部分は、ターゲットデバイス内の何らかのデータストレージのアドレスおよび場合によっては何らかのデータも含むことができる。] [0031] 例示されているネットワークの少なくともいくつかの場合において、データは、共通クロックのそれぞれのエッジで送信される。4本のデータ線があるので、クロック周期毎に1バイトが送信される。図6は、2つのストローブと単一スレーブ内へ流れ込み、単一スレーブから流れ出るコマンドまたはデータパケットとの間の関係を示している。コマンドパケットがスレーブによって受信されている場合、コマンドストローブ入力(CSI)信号がパケットの先頭と末尾を画定する。データパケットが受信されている場合、受信パケットは、データストローブ入力(DSI)によって画定される。] [0032] データパケットとコマンドパケットの両方について、それぞれのデバイスを通る際の待ち時間は、数クロックサイクルであり、デバイスの設計の一部として固定される可能性が高い-必ずしも固定されない-が、リング上の異なるデバイスは、異なるフロースルー待ち時間を有することがある。図6の例で暗示的に示されているスレーブは、コマンドおよびデータパケットが両方とも入力セグメント上にラッチされて1サイクルまるまる経過した後に出力セグメントデータライン(Q0..3)上に現れるので中を通る1サイクルの待ち時間を示している。出力セグメントでは、スレーブは、それに応じてコマンドストローブ出力およびデータストローブ出力を駆動することによって出力データライン上のパケットを画定する。] [0033] スレーブデバイスは、コマンドパケットでコマンドを送信される。図7は、図6に示されているコマンドパケットに応答することが可能であるコマンドパケットの構造を示している。1バイト目は、コマンドを実行すべきスレーブのデバイスアドレスを含む。2バイト目は、1バイトコマンドである。その後のバイトの個数と意味は、指定された実際のコマンドに依存する。コントローラが、その後のバイトが2バイト目で指定された特定のコマンドに依存すると判断するからである。特に、コントローラ側でデータをスレーブのストレージに書き込むことを望んでいる場合、その後のバイトは、そのストレージのスレーブローカルアドレスとライトデータを含む。図7に例示されているコマンドパケットは、最上位ニブル先頭で送信される。第1の立ち上がりエッジで、ビット4、5、6、および7である最上位ニブルが、データラインD0、D1、D2、およびD3上で送信される。第1のクロックサイクルの第2の半分において、ビット0、1、2、および3である1バイト目の最下位ニブルが、対応するデータライン上で送信される。同じパターンが、コマンドのその後のすべてのバイトについて続く。図7の3つのコマンド固有バイトに示されているような8ビットを超えるアドレスの場合、ニブルおよびバイトのシーケンスは、最下位バイト先頭および最上位ニブル先頭に対応する。] [0034] 通信によりスレーブからコントローラにあらゆる種類のデータを送り返すために、データパケットが使用されうる。コントローラは、スレーブがデータを返すようにしたい場合、データパケットの到来に対してスレーブをプライミングするリードデータ転送コマンドを送信する。リードデータ転送コマンドは、コントローラがスレーブに返してもらいたいデータを示す。コントローラは、要求データを受信する用意ができたら、任意のデータを中に入れてリングの下りへデータパケットを送信する。データパケットの先頭および末尾は、データストローブ信号上の立ち上がりエッジおよび立ち下がりエッジで示される(それに対応してCSOおよびCSI)。プライミングされたスレーブは、リードデータパケットの到来を検出すると、パケットの受信データを無視し、それを出力セグメント上に複製するのではなく、代わりにデータによってすでに要求されているデータを駆動する。少なくともいくつかの例では、転送すべきデータの量は、リードデータ転送コマンドで指定されないが、代わりに、データストローブ入力/出力の立ち上がりエッジと立ち下がりエッジとの間のクロックサイクルの数によって指定される。] [0035] 本発明の実施形態によるクラスタリングトポロジネットワークでは、デバイスは並列接続され、入力リングセグメントおよび出力リングセグメントを共有する。クラスタは、1つまたは複数のデバイスを含むが、実際には、1クラスタ当たりのデバイスの個数は、比較的少ない。多数の実施形態において、入力セグメントに到来するパケットは、クラスタ内のすべてのデバイスによって受信され、解釈される。他の実施形態では、受信パケットの入力および解釈を行わないように、1クラスタにつきどのスレーブもスリープ状態もしくは他の何らか形でのディセーブル状態でないか、いくつかのスレーブがスリープ状態もしくは他の何らか形でのディセーブル状態であるか、1つのスレーブを除くすべてのスレーブがスリープ状態もしくは他の何らか形でのディセーブル状態である。一般に、1つのクラスタにおけるスレーブ同士が、潜在的にはコントローラの指令に従って、それらのスレーブのうちの高々1つがいつでも出力セグメントをアクティブに駆動していることを確実にするように連携する。本明細書で開示されている本発明の実施形態の異なる例は、もっぱらクラスタのデバイスがこれを達成するためにどのように連携するかに応じて変わる。] [0036] 図8は、1つのコントローラ810と4つのクラスタ811〜814のリングを示す例示的なクラスタリングネットワーク800の図である。クラスタは、中に、それぞれ4つのスレーブ820〜823、3つのスレーブ830〜832、1つのスレーブ840、および2つのスレーブ850〜815を有しているが、本発明は、特定の範囲のクラスタまたは1クラスタ当たりのスレーブに限定されない。少なくとも1つの実施形態では、クラスタには、一意的なクラスタIDが与えられる。図8の例において、第1のクラスタはクラスタID 0を有し、その後のクラスタは、1、2、および3のクラスタIDを有する。それぞれのクラスタ内において、デバイスにも一意的なデバイスIDが与えられる。再び、この例において、クラスタ内の第1のスレーブは、0のデバイスIDを与えられ、その後スレーブ(もしあれば)は、1、2、3などのデバイスIDを与えられる。本発明のすべての実施形態において、「デバイス」という単語は、「ディスクリート」であることを意味するものと解釈すべきではないことに留意されたい。さまざまな実施形態が、ディスクリートデバイスで実装されうるが、「デバイス」は、同じ集積回路上に組み込むこともできる。] [0037] リング内のそれぞれのデバイスは、これにより、そのクラスタIDとそのデバイスIDの合併によって一意に識別される。例えば、1クラスタ当たり最大16個までのスレーブからなる最大16個までのクラスタをサポートするネットワークは、4ビットクラスタIDフィールドと4ビットデバイスIDフィールドとで構成される1バイトデバイスアドレスフィールドを有することが可能であった。この例では、リング内のそれぞれのデバイスが、1サイクルのフロースルー待ち時間を有していた場合、完全に満たされているネットワークだと、通信待ち時間は16サイクルとなる。それとは対照的に、同じ個数のデバイスを含む、またフロースルー待ち時間が1である、図4のリング型トポロジネットワークだと、通信待ち時間は256サイクルとなる。このようにして、クラスタリングトポロジを使用すると、待ち時間を直線的に悪化させることなくさらに多くのデバイスをシステムに持たせることができる。] [0038] 図8の実施形態において、デバイスIDが0であるそれぞれのクラスタ内のデバイスは、クラスタマスタと称される(クラスタマスタを識別するために、他の何らかのデバイスIDを使用することも可能であることは理解されるであろう)。クラスタマスタの役割は、クラスタ内の高々1つのスレーブがアウトバウンドセグメントを駆動しているようにそのクラスタのスレーブを調整することである。この目的のために、クラスタ内のそれぞれの非クラスタマスタスレーブからクラスタのクラスタマスタへの特別な線がありうる。この線は、特定のスレーブがプライミングされていることをクラスタマスタに伝えるために使用される。クラスタマスタは、データパケットが受信され、クラスタ内の他のスレーブがプライミングされている場合を除き出力セグメント(ストローブとさらには出力データバス)を駆動する責任を有する。この状況において、クラスタマスタは、データストローブ出力信号を駆動するが、プライミングされたスレーブがそのリードデータをデータパケット内に挿入できるようにデータ出力信号を放出する(つまり、その出力ドライバが高インピーダンス状態に入る)。] [0039] 他の実施形態では、一芯導線でクラスタ内のすべてのスレーブを接続する。このような一実施形態では、リング全体の中の高々1つのスレーブを一度にプライミングすることができ、したがって1クラスタ当たり高々1つのプライミングされたスレーブがありうるという条件が成り立つ。したがって、単一のマルチソースシングルデスティネーション導線(n:1通信とも称される)を使用して、スレーブがプライミングされていることをマスタに指示することができる。] [0040] さらに他の実施形態では、クラスタマスタは、クラスタ内の他のスレーブがプライミングされる時期を知り、したがって、クラスタ内の他のスレーブから、それらが個別にプライミングされるかどうかの指示を受け取る必要がないように、そのクラスタ内のすべてのスレーブをターゲットとするコマンドのすべてを解釈する。この実施形態は、クラスタマスタデバイスがクラスタ内の他のすべてのスレーブのコマンドセットをアプリオリに知っている状況において有益である場合がある。これは、確かに、同種クラスタではそうであるが、一緒に結合されて1つのクラスタにされたデバイスが完全に異なる種類のもの、または同じ種類だが異なるバージョンのものである異種クラスタではあまりありえそうにない。] [0041] 上述の実施形態のすべてにおいて、プライミングされたスレーブは、それがプライミングされ、データパケットが到来したときに、データストローブ出力信号だけでなくデータ出力信号をも駆動する責任を有するものとすることもできる。しかし、クラスタマスタは、どのスレーブ(もしあれば)がプライミングされるかに関係なくクラスタの入力セグメントからその出力セグメントにコマンドパケットを回送する責任を依然として有する。] [0042] 実施形態の他の相当するグループにおいて、プライミングされたデバイスは、一時的マスタになり、リードデータをデータパケット内に現在挿入しているかどうかに関係なく、入力セグメントから出力セグメントにコマンドパケットだけでなくデータパケットも回送する責任を有することになる。クラスタマスタは、プライミングされたデバイスがもはやプライミングされなくなったときにクラスタのデバイス0に戻ることができる。ネットワークプロトコルの詳細に応じて、これは、データパケットの末尾にあるか、プライミングされたスレーブデバイスがリードデータを挿入したデータパケットの末尾の後の新しいコマンドパケットの先頭にあるか、または他の何らかの条件とすることが可能である。これが非プライミング状態に戻ることは、すでに説明されている方法のどれかによってクラスタマスタに伝えられるか、またはクラスタマスタによって暗黙のうちに理解されうる。] [0043] 他の代替形態において、一時的マスタステータスは、プライミングされなくなった後でもプライミングされたデバイスに渡されたままであり、クラスタ内の他の何らかのスレーブがプライミングされるときが来るまでそのままである。そのときが来たら、一時的マスタステータスは、新規にプライミングされたデバイスに移され、クラスタ内の他の何らかのデバイスがプライミングされるまでそのデバイスに渡されたままになる。この一組の実施形態において、プライミングされたステータスの通信は、一芯導線のリングを使って、または共有線によって行うことができる。前者の場合には、新規にプライミングされたデバイスは、クラスタ内一芯導線リングを下って立ち上がりエッジを送る(図9を参照)。リンク内のそれぞれのデバイスは、その立ち上がりエッジをクラスタ内リング内の次のスレーブに回送する。その立ち上がりエッジが現在の一時的マスタに達したら、一時的クラスタマスタステータスを放棄し、その立ち上がりエッジをクラスタ内の次のスレーブに回送する。立ち上がりエッジが新規にプライミングされたスレーブに戻った場合、これは、現在では、一時的クラスタマスタステータスを有すること、および現在では、コマンドおよびデータパケットをクラスタの出力セグメントに回送する責任を有することは確実である。プライミングされたステータスおよび一時的クラスタマスタステータスの伝達およびアービトレーションを行うための他の信号伝達規約および相互接続トポロジは、当業者には明らかなものであろう。] [0044] 少なくとも1つの実施形態では、1つのパケットの先頭は、その前のパケットの末尾に少なくとも1/2サイクルだけあけて続く。このギャップがあることで、データが転送されていない間にクラスタがクラスタの出力セグメントのいくつかの要素のすべてを駆動する責任を移す機会が必ず生じる。] [0045] あるいは、アウトバウンドセグメントで使用される信号伝達技術は、ワイヤードAND型である。この種類の信号伝達技術では、複数のデバイスが信号を駆動する場合、受信された値は2つの駆動値の論理ANDである。例えば、外部プルアップ抵抗を備えるオープンコレクタドライバは、ワイヤードAND信号伝達技術の一例であり、2つの駆動デバイスのいずれかが出力信号をLowレベルに引き下げた場合、受信値はLowレベルとなる。他のワイヤードANDおよびそれと対をなすワイヤードOR信号伝達技術は、当業者によく知られている。] [0046] これらの実施形態では、クラスタマスタは、出力セグメントを連続的に駆動し、図8のネットワークの場合とまったく同様に、受信コマンドおよびデータパケットを出力セグメントにコピーする。非クラスタマスタスレーブは、リードデータを送信セグメントのデータ出力ライン上に送り出し、コントローラによってそこに置かれたデータを上書きするだけである。コントローラは、データパケット内のデータとプライミングされたスレーブからのリードデータとの論理ANDをとったときに、コントローラに到達する結果データが、正確に、プライミングされたデバイスからのリードデータとなるようにすべての送信データパケットを1で埋める。スレーブは、クラスタ内の相手と通信する必要はない。それらがクラスタマスタであるかないかだけを認識すればよい。他のワイヤード型信号伝達技術を使用する相当する実施形態では、コントローラからのアウトバウンドデータパケットに挿入される初期値は、信号伝達技術によって実装される論理関数の恒等値で埋められる。] [0047] すべての実施形態において、リング内のそれぞれのデバイスは、アドレスによって一意に識別される。少なくとも1つの実施形態において、上述のように、スレーブは、それぞれのクラスタ内で一意的であるデバイスIDを有する。少なくとも1つの実施形態では、それぞれのスレーブは、専用のID入力ライン(本数はクラスタIDとデバイスIDの合併におけるビットの数に等しい)上の電圧を感知することによってそのクラスタIDおよびデバイスIDを決定する。] [0048] デバイスIDは、ディジーチェーンでクラスタ内のデバイスのそれぞれを通るリセット信号を利用することによってリセット後にセットできることに留意されたい。すべてのスレーブは、リセット入力信号およびリセット出力信号の両方を有する。クラスタマスタスレーブのリセット入力は、大域的システムリセットに接続することができる。それぞれのクラスタマスタのリセット出力信号は、1のデバイスIDで終わるそれらの各クラスタ内のスレーブのリセット入力信号に接続され、以下同様に接続することができる。リングサブシステムは、リセットの単純なHighからLowへの遷移でリセット状態から出る。それぞれのクラスタ内の第1のデバイスは、リセット入力上のその単純な単一遷移を、それが対応するクラスタマスタであること、およびそのデバイスIDが0であることの指標として認識する。次いで、それぞれのクラスタマスタは、HighからLowへ、LowからHighへ、そして再びHighからLowへの一連の3つの遷移でリセット出力をデアサートする。次のデバイスは、リセット上のその一連の3つの遷移を、それがクラスタ内の第2のデバイスであること、およびしたがってそのデバイスIDが1であることの指標として認識する。] [0049] このパターンは、続けられ、それぞれのデバイスがリセット入力における遷移の回数をカウントして、自デバイスIDを決定し、次いで、遷移の回数を2だけ増やして、必ず次のデバイスに1だけ大きいデバイスIDを割り当てるようにする。デバイスIDがすべてセットされた後、クラスタID値も、デバイスIDをセットすることができる同じ方法でセットすることができ、リングがリセットされた後、コントローラは、すべてゼロとともにリングの下りへ特別なパケットを送信する。ネットワーク全体の中のすべてのスレーブは、この値をそのクラスタIDとみなす。それぞれのクラスタのクラスタマスタは、その特別なパケット内の値を増分してから、そのパケットを次のクラスタへ送信する。あるいは、コントローラは、特別なパケットを他の何らかの値で埋めることができ、クラスタマスタは、次のクラスタのクラスタIDを生成するために特別なパケット内の値を増分するか、減分するか、または他の何らかの方法で操作することができる。当業者であれば、リセット信号の意味が発明にとって重要なことでないことを理解するであろう。] [0050] 図10は、他の例示的な実施形態による他のクラスタリングネットワーク1000の図を示している。ネットワーク1000は、コントローラ1010および3つのクラスタ1011〜1013を備える。クラスタは、中に、それぞれ4つのスレーブ1020〜1023、3つのスレーブ1030〜1032、および2つのスレーブ1040〜1041を有しているが、ここでもまた、本発明は、特定の一連のクラスタまたは1クラスタ当たりのスレーブに限定されないことに留意されたい。図10の構成において、一時的クラスタマスタステータスのアービトレーションを行うために使用されるクラスタ内リングは、デバイスIDを伝達するために使用される。すべてのスレーブは、入力としてリセット入力を有する。クラスタマスタでないスレーブはすべて、これらの入力を接地している。クラスタマスタでは、そのリセット入力の入力端子が大域的リングリセットに接続されている。リセット入力がHighからLowに遷移したことを認識した後、クラスタマスタは、そのステータスをクラスタマスタとして認識し、そのデバイスIDをゼロにセットし、相当する増大パルスストリームをクラスタ内リングを下って送信し、クラスタ内の他のすべてのデバイスのクラスタIDを順次初期化して行く。] [0051] 他の実施形態では、クラスタマスタ内のそれぞれのクラスタ内のどのデバイスがワードワイヤードデバイスであるかを専用信号を使用して示す。クラスタIDをセットすることについて上で説明されている手順を使用して、クラスタIDが最初にセットされ、その後、ここでもまた、デバイスIDをセットすることについて上で説明されている手順を使用して、デバイスIDがセットされる。他の実施形態では、当業者には明らかな技術により、デバイスIDを初期化するために、リセット信号および一時的クラスタマスタアービトレーション信号とは別の専用の一組の信号が使用される。] [0052] 次に図11Aを参照すると、スタックとして垂直に積み重ねられたマルチチップモジュール1100が示されており、そこでは、スタック内すべてのデバイス1110〜1113は単一クラスタを構成する。入力セグメントは、片側のすべてのデバイスに到来し、出力セグメントは、モジュールの他方の側から出る。図11Bは、金属線が一方のデバイス上の入力セグメントボンディングパッドを縦方向に隣接するデバイス上のボンディングパッドに接続し、またスタックの出力セグメント側の相当する一組の接続部と接続するという点でモジュール1100と異なる代替モジュール1150内のデバイス1110〜1113の同じスタックを示している。このような実装において、スタックは、複数のクラスタ、1つまたは複数のクラスタ、およびコントローラなどを備えることができる。] [0053] 少なくとも1つの知られているリング型ネットワークでは、どれかのデバイスが故障した場合に、コントローラとすべてのデバイスとの間の往復通信は途絶える。しかし、本発明の実施形態によれば、非クラスタマスタが完全に機能しなくなった場合でも、通信は妨げられることなく継続する。故障デバイスは、プライミングされたインジケータを決してアサートしない。故障デバイスがプライミングされたことを連続的にアサートするようにして機能しなくなった場合、そのクラスタのデバイスと通信する機能は禁止されうる。しかし、他のクラスタとの通信は影響を受けない。クラスタマスタが故障した場合、往復通信は中断される。] [0054] 図12は、リング毎に1つのデバイスが故障しても機能できる代替実施形態を示している。その中のそれぞれのスレーブは、2つのクラスタ内出力(次出力およびスキップ出力と称される)ならびに次入力およびスキップ入力と称される2つのクラスタ内入力を有する。それぞれのデバイスの次出力は、クラスタ内の論理的に次のデバイスの次入力に接続され、最後のデバイスの次出力は、第1のデバイス-通常はクラスタマスタであるデバイス-の次入力に接続される。したがって、次信号は、単純なクラスタ内リングを形成する。] [0055] それぞれのデバイスのスキップ出力は、クラスタ内の1つおいて次のデバイスのスキップ入力に接続される。最後から1つ前のスレーブのスキップ出力は、クラスタ内の第1のスレーブのスキップ入力に接続され、クラスタ内の最後のスレーブのスキップ出力は、クラスタ内の第2のスレーブのスキップ入力に接続される。このフォールトトレラントの実施形態では、それぞれのフォールトトレラントクラスタは、少なくとも2つのスレーブをその中に有し、したがって、スキップ信号を介してどれが1つおいて次のスレーブであってそれがどれに接続するかが常に明確である。クラスタ内の第1の2つのスレーブのリセット入力信号は、一次リセットおよびバックアップリセットと称される2つのリング大域的な信号に接続される。] [0056] デバイスIDの初期化および割当ては以下のように進む。コントローラは、一次リセットをHighレベルにし、それぞれのクラスタ内の第1のスレーブによって認識される十分な時間の間、Highレベルに保つ。次いで、この第1のスレーブは、自分自身をクラスタマスタであるものとして割り当て、そのデバイスIDを0にセットする。次いで、次出力およびスキップ出力をHighレベルにし、クラスタ内の他のすべてのスレーブはスキップ入力または次入力上のHighレベルをスキップ出力と次出力の両方に伝搬し、それら自体をリセット状態にする。] [0057] 一次リセットがLowレベルに下がると、クラスタマスタは、立ち下がりエッジを認識して、3つの遷移からなるパルス列を次出力で第2のデバイスに送り(HighレベルからLowレベルに、LowレベルからHighレベルに、次いで再びHighレベルからLowレベルにする)、スキップ出力で5つの遷移からなるパルス列を送る。クラスタ内の他のすべてのスレーブは、以下のルールに従う。次入力またはスキップ出力が長期間にわたってHighレベルのときにはリセット状態に入り、スレーブのデバイスIDおよびクラスタIDをクリアし、リセット状態に入っているときには、次入力とスキップ入力の両方で遷移列がないか監視する。遷移列が、いずれかの信号で入ってきた場合、遷移の数をカウントし、1を引いて、2で割って、デバイスIDを結果にセットする。いずれの入力でも、その後の遷移列を無視する。デバイスIDがセットされている場合、次出力上で2×デバイスID+3の長さの次出力上の遷移列を送り、スキップ出力上で2×デバイスID+遷移数5の長さの遷移列を送る。その後、通常オペレーションモードに入り、上述のようにクラスタIDをセットする特別なパケットが来ないかインバウンドセグメントを監視する。クラスタマスタは、クラスタ内のデバイスの個数を知るために次入力およびスキップ入力で遷移列を監視することができる。] [0058] これの後、コントローラが、パケットがリング上の行けるところまで行くことを確認できない場合、一次クラスタマスタの1つが、通常オペレーションを妨げる形でマスタが故障しているという意味で死んでいる可能性がある。どの場合も、バックアップセットを使用して再初期化すべきである。これは、それぞれのクラスタ内の第2のスレーブをデバイスID 0を持つクラスタマスタとなるようにセットする。] [0059] この実施形態を使用すると、リング毎に死んでいるスレーブが1つある場合のオペレーションが容易になる。クラスタ毎に最大1つのスレーブの故障があっても機能する関係する実施形態は、コントローラがクラスタ毎に一次リセットまたはバックアップリセットを使用できることを除いて同じである。そのようなものとして、第1のクラスタ上の第1のスレーブおよび第2のクラスタ内の第2のデバイスの両方に不具合があった場合、コントローラは、それに応じて2つのクラスタ内のクラスタマスタをそのまま別々に割り当てることができる。クラスタ毎に複数のデバイス故障が生じている場合のオペレーションを容易にする、この概念の拡張を用いた追加の実施形態も可能である。] [0060] 図12のフォールトトレラントクラスタは、同じ前述のプロトコルによってリング内の前のクラスタ(またはコントローラ)および次のクラスタ(またはコントローラ)と通信するので、単一のリングが、フォールトトレラントクラスタと非フォールトトレラントクラスタの混合を含みうる。] [0061] 図13は、例示的な実施形態によりネットワーク内で使用することができ、「Non-volatile Memory System」という表題の米国仮特許出願第60/902,003号においてさらに詳しく開示されているデバイス1300の図である。デバイス1300は、この場合は、入力データバスからなる1つの入力ポートと、入力データバス上に情報が流れているときにそのことを示すために使用される2つの入力ストローブ信号を有する。しかし、データバスセグメントは4ビット幅であることが示されているけれども、本発明はデータバス幅に関係なく動作可能であるため、データ幅は1ビット以上の任意の幅とすることができる。デバイスは、出力データバスからなる1つの出力ポートと、データがスレーブによって出力データバス上に送り出されているときにそのことを示す2つの出力ストローブ信号を有する。ここもまた、この図および他のすべての図における4ビットの出力データバス幅は、単なる例であり、本発明の範囲を示すものではない。入力ポート、出力ポートに加えて、この特定のデバイスは、少数の追加の非電力信号を有する。デバイスは、クロック入力(この場合、シングルエンド型であるが、潜在的には差動型でもある)、デバイスを知られている初期状態に初期化するリセット入力、および入力ポートおよび出力ポートをオンにし、それによりリングに沿って通信を可能にするために使用されるチップイネーブル入力も有する。] [0062] 図14は、他の例示的な実施形態による他のクラスタリングネットワーク1400の図を示している。ネットワーク1400は、コントローラ1410および4つのクラスタ1411〜1414を備える。クラスタは、中に、それぞれ4つのスレーブ1420〜1423、3つのスレーブ1430〜1432、1つのスレーブ1440、および2つのスレーブ1450〜1451を有しているが、ここでもまた、本発明は、特定の一連のクラスタまたは1クラスタ当たりのスレーブに限定されないことに留意されたい。図14による例は、スレーブアドレッシングがリニアな割り当てであり、クラスタ番号およびクラスタ内デバイスIDで構成されていないことを特徴とする。この代替形態は、デバイスアドレスに利用できるビットの数が少なすぎて2つの異なる部分に分割するとクラスタの個数の最大値またはクラスタ毎のデバイスの最大数のいずれかを不当に制約することになる場合に好ましいものである。この場合、デバイスアドレスは、ディジーチェーンでリング内のすべてのデバイスを通る単一ビットシリアルスキャンを使ってリセット後にセットされるが、他のそのようなメカニズムも、当業者にとっては、過度の実験を行うことなく明らかであろう。この実施形態では、Highレベルに引き上げられた専用信号は、それぞれのクラスタ内のどのデバイスが初期または永久的クラスタマスタに対するものであるかを示す。コントローラは、このスキャンチェーンを使用して、デバイスアドレスを初期化し、次いで、すべてのデバイスに対し、それらがクラスタマスタであるかそうでないかを問い合わせて、正確なネットワークトポロジを決定する。適宜、トポロジが決定された後、コントローラは、クラスタ内のデバイスのデバイスアドレスをクラスタマスタに知らせることができ、したがって、クラスタマスタは応答する必要のあるデバイスアドレスを認識する。他の代替形態では、クラスタマスタは、クラスタ内の非マスタスレーブに問い合わせを行って、どのデバイスが各クラスタ内にあるかを判定することができる。他の代替形態では、クラスタマスタは、各クラスタ内のデバイスのデバイスアドレスを知る必要はなく、次のデータパケット上のデータ出力に対してプライミングされていることを示すそれらのスレーブからの指標に基づいてその挙動を変えるだけである。] [0063] 説明されている実施形態のいくつかの適応形態および修正形態が形成されうる。したがって、上述の実施形態は、例示的であり、制限するものではないと考えられる。] [0064] 400リング型トポロジ相互接続ネットワーク 410コントローラまたはマスタデバイス 411〜415メモリまたは他のメモリまたは非メモリスレーブデバイス 500リング型トポロジネットワーク 510〜513デバイス 800クラスタリングネットワーク 810 コントローラ 811〜814クラスタ 820〜823スレーブ 830〜832 スレーブ 840 スレーブ 850〜815 スレーブ 1000 クラスタリングネットワーク 1010 コントローラ 1011〜1013 クラスタ 1020〜1023 スレーブ 1030〜1032 スレーブ 1040〜1041 スレーブ 1100マルチチップモジュール 1110〜1113 デバイス 1150代替モジュール 1300 デバイス 1400 クラスタリングネットワーク 1410 コントローラ 1411〜1414 クラスタ 1420〜1423 スレーブ 1430〜1432 スレーブ 1440 スレーブ 1450〜1451 スレーブ]
权利要求:
請求項1 クラスタリングネットワーク構成で接続された複数のデバイスを備えるシステムであって、入力および出力セグメントに相互接続されている複数のスレーブデバイスとパケット通信を行うコントローラデバイスを備え、前記の入力および出力セグメントはリング型構成で相互接続され、前記スレーブデバイスの少なくとも一部は、並列接続され、これにより、同じ入力セグメントおよび同じ出力セグメントを共有する複数のスレーブデバイスからなるクラスタを形成するシステム。 請求項2 前記スレーブデバイスは、デバイスIDを使用して前記コントローラデバイスによってアドレッシングされる請求項1に記載のシステム。 請求項3 前記デバイスIDは、動作中にリセットされうるか、または再割り当てされうる請求項2に記載のシステム。 請求項4 前記スレーブデバイスは、クラスタIDとデバイスIDとの組み合わせを使用して前記コントローラデバイスによってアドレッシングされる請求項1に記載のシステム。 請求項5 前記デバイスID、前記クラスタID、またはこれらの両方は、動作中にリセットされうるか、または再割り当てされうる請求項4に記載のシステム。 請求項6 1つのデバイスが1つのクラスタマスタとして指定されている1つのクラスタを備え、前記クラスタマスタは前記クラスタ内の高々1つのスレーブが接続先の前記出力セグメントを駆動するようにそのクラスタの前記スレーブを調整する動作が可能である請求項1に記載のシステム。 請求項7 前記クラスタの前記スレーブは、前記出力セグメントを駆動するように特定のスレーブがイネーブルされていることを前記クラスタマスタに単線で伝達する請求項6に記載のシステム。 請求項8 前記クラスタの前記スレーブは、マルチソースシングルデスティネーション一芯導線上でクラスタマスタと通信する請求項6に記載のシステム。 請求項9 前記クラスタマスタは、前記クラスタ内のすべてのスレーブをターゲットとするコマンドのすべてを解釈し、これにより、どのスレーブがプライミングされているかを、前記スレーブから情報を直接受信することなく前記クラスタマスタが判定することができる請求項6に記載のシステム。 請求項10 前記クラスタマスタは、どのスレーブ(もしあれば)がイネーブルされているかに関係なく前記入力セグメントから前記出力セグメントにコマンドパケットを回送するように動作可能である請求項6に記載のシステム。 請求項11 前記クラスタマスタは、どのスレーブ(もしあれば)がイネーブルされているかに関係なく前記入力セグメントから前記出力セグメントにコマンドパケットを回送するように動作可能である請求項6に記載のシステム。 請求項12 イネーブルされたデバイスは、一時的クラスタマスタになり、前記入力セグメントから前記出力セグメントへコマンドパケットだけでなくデータパケットも回送する責任を有することになる請求項6に記載のシステム。 請求項13 前記一時的マスタステータスは、イネーブルされなくなった後でも前記クラスタ内の他の何らかのスレーブがイネーブルされるようなときが来るまでイネーブルされたデバイスに渡されたままである請求項12に記載のシステム。 請求項14 1つのパケットの先頭は、前のパケットの末尾に少なくとも1/2サイクルだけあけて続き、これによりデータの転送が行われていない間にクラスタが前記クラスタの出力セグメントのいくつかの要素のうちのすべてを駆動する責任を移すことができる請求項1に記載のシステム。 請求項15 クラスタ内の前記デバイスは、ワイヤードAND型構成で前記出力セグメントに接続される請求項1に記載のシステム。 請求項16 クラスタ内の前記デバイスは、フォールトトレラントクラスタ内リングを形成する2つのクラスタ内出力および2つのクラスタ内入力を有する請求項1に記載のシステム。 請求項17 前記スレーブデバイスのうちの1つまたは複数は、マルチチップモジュール(MCM)で物理的に実装される請求項1に記載のシステム。 請求項18 前記MCMは、コントローラデバイスをさらに備える請求項17に記載のシステム。 請求項19 前記MCMは、複数のレベルを持つ垂直方向に集積されたスタックとして実装され、それぞれのクラスタの前記デバイスは、異なるレベルに配置される請求項17に記載のシステム。 請求項20 前記MCMは、複数のレベルを持つ垂直方向に集積されたスタックとして実装され、前記スタック内のすべての前記デバイスは、単一クラスタを構成する請求項17に記載のシステム。 請求項21 前記スレーブデバイスのうちの少なくともいくつかは、メモリデバイスである請求項1に記載のシステム。 請求項22 ネットワーク通信の方法であって、共通入力セグメントおよび共通出力セグメントを共有してリング型ネットワーク内にスレーブデバイスのクラスタを形成するように並列接続された複数のスレーブデバイスを備えるステップと、デバイスID、クラスタID、またはこれらの組み合わせを使用して前記スレーブデバイスをアドレッシングし、前記リングに沿ってコマンドまたはデータパケットの経路指定を行うステップとを含む方法。 請求項23 動作中にクラスタID、デバイスID、または両方をリセットまたは再割り当てするステップを含む請求項22に記載の方法。 請求項24 クラスタ内のデバイスを、そのクラスタの前記スレーブを調整して前記クラスタ内の高々1つのスレーブをそのクラスタによって共有される前記出力セグメントを駆動するようにイネーブルする動作が可能なクラスタマスタとして指定するステップを含む請求項22に記載の方法。 請求項25 前記クラスタマスタは、どのスレーブ(もしあれば)がイネーブルされているかに関係なく前記入力セグメントから前記出力セグメントにコマンドパケットを回送するように動作可能である請求項24に記載の方法。 請求項26 クラスタ内の高々1つのスレーブが前記共有される出力セグメントを駆動していることを確実にするステップを含む請求項22に記載の方法。 請求項27 コントローラデバイスがリング型構成で入力および出力セグメントに相互接続されている複数のスレーブデバイスとパケット通信を行うタイプのネットワークトポロジにおいて、前記スレーブデバイスの少なくとも一部を並列接続し、これにより、同じ入力および出力セグメントを共有するクラスタを形成するステップと、前記コントローラデバイスを使用し、デバイスID、クラスタID、またはこれらの組み合わせを使用して前記スレーブデバイスをアドレッシングするステップとを含む改善。 請求項28 半導体デバイスであって、入力ポートと、出力ポートと、メモリストレージとを備え、前記デバイスはクラスタ内の高々1つのデバイスが共有されている出力セグメントを一度に駆動しているようにクラスタ内の非マスタスレーブを調整することができるクラスタリングネットワーク内のクラスタマスタとして動作可能である半導体デバイス。
类似技术:
公开号 | 公开日 | 专利标题 US10387348B2|2019-08-20|PCI express tunneling over a multi-protocol I/O interconnect US9122811B2|2015-09-01|Flexibly integrating endpoint logic into varied platforms KR101502610B1|2015-03-13|직렬화기/역직렬화기 레인들을 이용한 50 Gb/s 이더넷 US8179787B2|2012-05-15|Fault tolerant network utilizing bi-directional point-to-point communications links between nodes US7356639B2|2008-04-08|Configurable width buffered module having a bypass circuit US10164880B2|2018-12-25|Sending packets with expanded headers US7710144B2|2010-05-04|Controlling for variable impedance and voltage in a memory system JP4210300B2|2009-01-14|電源投入状態での追加/取外しが可能なメモリ・チャネル US6157972A|2000-12-05|Apparatus and method for processing packetized information over a serial bus EP2047370B1|2013-04-10|Method and apparatus for distributing usb hub functions across a network EP1872192B1|2012-09-12|Interconnection system US7308524B2|2007-12-11|Memory chain CN1967708B|2012-11-14|桥接存储总线的存储接口 CN101675478B|2013-10-30|具有一个或多个存储器设备的系统 KR100611268B1|2006-08-10|가상 채널 설정을 위한 강화된 일반 입출력 아키텍처 및관련 방법 CN100470496C|2009-03-18|用可变映射进行的通道测试 KR100687659B1|2007-02-27|Axi 프로토콜에 따른 락 오퍼레이션을 제어하는네트워크 인터페이스, 상기 네트워크 인터페이스가 포함된패킷 데이터 통신 온칩 인터커넥트 시스템, 및 상기네트워크 인터페이스의 동작 방법 US7111108B2|2006-09-19|Memory system having a multiplexed high-speed channel DE112004002503B4|2011-09-15|Serielle Ethernet Gerät-zu-Gerät-Verbindung US8019907B2|2011-09-13|Memory controller including a dual-mode memory interconnect US20200225878A1|2020-07-16|Memory buffers and modules supporting dynamic point-to-point connections JP4326939B2|2009-09-09|スキュー耐性のないデータグループを有するパラレルデータ通信 CN100498724C|2009-06-10|针对部分帧的提早crc传送 US7414917B2|2008-08-19|Re-driving CAwD and rD signal lines US9838017B2|2017-12-05|Methods and systems for high bandwidth chip-to-chip communcations interface
同族专利:
公开号 | 公开日 EP2243257A1|2010-10-27| CN101971574B|2015-01-21| WO2009088574A9|2009-10-08| US8594110B2|2013-11-26| KR20100126665A|2010-12-02| TW200939036A|2009-09-16| JP2014014160A|2014-01-23| US20140115190A1|2014-04-24| TWI457765B|2014-10-21| JP5678310B2|2015-03-04| KR101507196B1|2015-03-31| US20090180483A1|2009-07-16| CN101971574A|2011-02-09| WO2009088574A1|2009-07-16| US8902910B2|2014-12-02|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JP2006202280A|2004-12-30|2006-08-03|Nokia Inc|状態の同期化を有するクラスタのための仮想マルチキャスト経路指定|WO2017163683A1|2016-03-24|2017-09-28|株式会社神戸製鋼所|通信制御システム及び通信制御方法|US4014A||1845-04-26||Improvement in machines for skimming liquids | US4663706A|1982-10-28|1987-05-05|Tandem Computers Incorporated|Multiprocessor multisystem communications network| US4617566A|1983-12-15|1986-10-14|Teleplex Corporation|Addressable-port, daisy chain telemetry system with self-test capability| US5243703A|1990-04-18|1993-09-07|Rambus, Inc.|Apparatus for synchronously generating clock signals in a data processing system| US5204669A|1990-08-30|1993-04-20|Datacard Corporation|Automatic station identification where function modules automatically initialize| US5319598A|1990-12-10|1994-06-07|Hughes Aircraft Company|Nonvolatile serially programmable devices| US5132635A|1991-03-05|1992-07-21|Ast Research, Inc.|Serial testing of removable circuit boards on a backplane bus| US5430859A|1991-07-26|1995-07-04|Sundisk Corporation|Solid state memory system including plural memory chips and a serialized bus| US6230233B1|1991-09-13|2001-05-08|Sandisk Corporation|Wear leveling techniques for flash EEPROM systems| US5422435A|1992-05-22|1995-06-06|National Semiconductor Corporation|Stacked multi-chip modules and method of manufacturing| US5379291A|1992-12-29|1995-01-03|International Business Machines Corporation|Apparatus for fiber distributed data interface dynamic station bypass via skipping and hopping| US5502817A|1993-04-02|1996-03-26|University Research Foundation, Inc.|Ultra high speed data collection, processing and distribution ring with parallel data paths between nodes| US5323060A|1993-06-02|1994-06-21|Micron Semiconductor, Inc.|Multichip module having a stacked chip arrangement| US5602780A|1993-10-20|1997-02-11|Texas Instruments Incorporated|Serial to parallel and parallel to serial architecture for a RAM based FIFO memory| US5452259A|1993-11-15|1995-09-19|Micron Technology Inc.|Multiport memory with pipelined serial input| US5475854A|1994-01-28|1995-12-12|Vlsi Technology, Inc.|Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system| US5404460A|1994-01-28|1995-04-04|Vlsi Technology, Inc.|Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus| DE4429433C1|1994-08-19|1995-10-26|Siemens Ag|Address assignment procedure| KR0142367B1|1995-02-04|1998-07-15|김광호|열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로| US5742840A|1995-08-16|1998-04-21|Microunity Systems Engineering, Inc.|General purpose, multiple precision parallel operation, programmable media processor| JPH0991197A|1995-09-22|1997-04-04|Sharp Corp|データ転送制御装置| US5777345A|1996-01-03|1998-07-07|Intel Corporation|Multi-chip integrated circuit package| US5828899A|1996-01-04|1998-10-27|Compaq Computer Corporation|System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port| US5941974A|1996-11-29|1999-08-24|Motorola, Inc.|Serial interface with register selection which uses clock counting, chip select pulsing, and no address bits| KR100243335B1|1996-12-31|2000-02-01|김영환|독립적인 리프레쉬 수단을 가지는 데이지 체인 구조의 반도체 장치| EP0891056A3|1997-07-08|2005-06-29|Canon Kabushiki Kaisha|Communication network, node apparatus and method for controlling the same| JPH11145996A|1997-11-12|1999-05-28|Canon Inc|通信ネットワーク及びそこで用いる伝送制御方法| US6148364A|1997-12-30|2000-11-14|Netlogic Microsystems, Inc.|Method and apparatus for cascading content addressable memory devices| US6002638A|1998-01-20|1999-12-14|Microchip Technology Incorporated|Memory device having a switchable clock output and method therefor| US6144576A|1998-08-19|2000-11-07|Intel Corporation|Method and apparatus for implementing a serial memory architecture| US6304921B1|1998-12-07|2001-10-16|Motorola Inc.|System for serial peripheral interface with embedded addressing circuit for providing portion of an address for peripheral devices| US6680904B1|1999-12-27|2004-01-20|Orckit Communications Ltd.|Bi-directional chaining of network access ports| US6816933B1|2000-05-17|2004-11-09|Silicon Laboratories, Inc.|Serial device daisy chaining method and apparatus| US6317350B1|2000-06-16|2001-11-13|Netlogic Microsystems, Inc.|Hierarchical depth cascading of content addressable memory devices| US6779072B1|2000-07-20|2004-08-17|Silicon Graphics, Inc.|Method and apparatus for accessing MMR registers distributed across a large asic| US6317352B1|2000-09-18|2001-11-13|Intel Corporation|Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules| US6853557B1|2000-09-20|2005-02-08|Rambus, Inc.|Multi-channel memory architecture| US6658509B1|2000-10-03|2003-12-02|Intel Corporation|Multi-tier point-to-point ring memory interface| US6996644B2|2001-06-06|2006-02-07|Conexant Systems, Inc.|Apparatus and methods for initializing integrated circuit addresses| US7043727B2|2001-06-08|2006-05-09|Micromuse Ltd.|Method and system for efficient distribution of network event data| US6900528B2|2001-06-21|2005-05-31|Micron Technology, Inc.|Stacked mass storage flash memory package| US7280549B2|2001-07-09|2007-10-09|Micron Technology, Inc.|High speed ring/bus| JP2003030993A|2001-07-17|2003-01-31|Toshiba Corp|半導体記憶装置| TW532011B|2001-09-21|2003-05-11|Jiun-Sheng Chen|Network topology structure on board of computer cluster| US6928501B2|2001-10-15|2005-08-09|Silicon Laboratories, Inc.|Serial device daisy chaining method and apparatus| US6763426B1|2001-12-27|2004-07-13|Cypress Semiconductor Corporation|Cascadable content addressable memory device and architecture| US7062601B2|2002-06-28|2006-06-13|Mosaid Technologies Incorporated|Method and apparatus for interconnecting content addressable memory devices| CA2396632A1|2002-07-31|2004-01-31|Mosaid Technologies Incorporated|Cam diamond cascade architecture| KR100487539B1|2002-09-02|2005-05-03|삼성전자주식회사|직렬 에이티에이 케이블과 연결되는 불휘발성 반도체메모리 장치| US7032039B2|2002-10-30|2006-04-18|Atmel Corporation|Method for identification of SPI compatible serial memory devices| US7308524B2|2003-01-13|2007-12-11|Silicon Pipe, Inc|Memory chain| US6988173B2|2003-05-12|2006-01-17|International Business Machines Corporation|Bus protocol for a switchless distributed shared memory computer system| WO2004102403A2|2003-05-13|2004-11-25|Advanced Micro Devices, Inc.|A system including a host connected to a plurality of memory modules via a serial memory interconnect| US7309923B2|2003-06-16|2007-12-18|Sandisk Corporation|Integrated circuit package having stacked integrated circuits and method therefor| KR100557068B1|2003-08-06|2006-03-03|삼성전자주식회사|실내 백본망을 위한 ieee 1394 기반의 단방향 링 시스템| US7130958B2|2003-12-02|2006-10-31|Super Talent Electronics, Inc.|Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes| US7031221B2|2003-12-30|2006-04-18|Intel Corporation|Fixed phase clock and strobe signals in daisy chained chips| TWI264956B|2004-03-12|2006-10-21|Univ Nat Chiao Tung|Method for performing access point handoff for mobile node| US7475174B2|2004-03-17|2009-01-06|Super Talent Electronics, Inc.|Flash / phase-change memory in multi-ring topology using serial-link packet interface| US8375146B2|2004-08-09|2013-02-12|SanDisk Technologies, Inc.|Ring bus structure and its use in flash memory systems| US7664994B2|2004-09-08|2010-02-16|Hewlett-Packard Development Company, L.P.|High-availability cluster node removal and communication| US6950325B1|2004-10-07|2005-09-27|Winbond Electronics Corporation|Cascade-connected ROM| US7738871B2|2004-11-05|2010-06-15|Interdigital Technology Corporation|Wireless communication method and system for implementing media independent handover between technologically diversified access networks| US20060104270A1|2004-11-16|2006-05-18|Inching Chen|Method and apparatus for communicating within a segmented network| US7340618B2|2005-03-16|2008-03-04|International Business Machines Corporation|System and method for regulating system power by controlling memory usage based on an overall system power measurement| TWI283978B|2005-09-27|2007-07-11|Alpha Networks Inc|A dynamic wireless meshing networks supporting load balance and flow control| US7652922B2|2005-09-30|2010-01-26|Mosaid Technologies Incorporated|Multiple independent serial link memory| US20070076502A1|2005-09-30|2007-04-05|Pyeon Hong B|Daisy chain cascading devices| US8364861B2|2006-03-28|2013-01-29|Mosaid Technologies Incorporated|Asynchronous ID generation| US8069328B2|2006-03-28|2011-11-29|Mosaid Technologies Incorporated|Daisy chain cascade configuration recognition technique| US7498991B2|2007-07-02|2009-03-03|Cirocomm Technology Corp.|Miniature combo built-in antenna structure| US8397011B2|2007-10-05|2013-03-12|Joseph Ashwood|Scalable mass data storage device|US7688652B2|2007-07-18|2010-03-30|Mosaid Technologies Incorporated|Storage of data in memory via packet strobing| US8312088B2|2009-07-27|2012-11-13|Sandisk Il Ltd.|Device identifier selection| US8392614B2|2009-07-27|2013-03-05|Sandisk Il Ltd.|Device identifier selection| CN102640075B|2009-12-17|2015-03-11|株式会社东芝|半导体系统、半导体装置以及电子装置初始化方法| DE102010041427A1|2010-09-27|2012-03-29|Robert Bosch Gmbh|Method for transmitting data| CN102346726A|2011-09-20|2012-02-08|四川卫士通信息安全平台技术有限公司|板载多芯片高速环形互联方法| US8825967B2|2011-12-08|2014-09-02|Conversant Intellectual Property Management Inc.|Independent write and read control in serially-connected devices| JP2014048979A|2012-08-31|2014-03-17|Fujitsu Ltd|情報処理システム、識別情報決定装置、識別情報決定方法、及びプログラム| US9740178B2|2013-03-14|2017-08-22|GM Global Technology Operations LLC|Primary controller designation in fault tolerant systems| KR101816944B1|2013-10-02|2018-01-09|엘에스산전 주식회사|UART Ring 통신의 ID 자동 설정방법| US9672182B2|2014-08-21|2017-06-06|Infineon Technologies Ag|High-speed serial ring| KR102023534B1|2015-04-17|2019-09-23|엘에스산전 주식회사|슬레이브 디바이스 및 이의 제어 방법| US10567195B2|2015-09-30|2020-02-18|Hewlett Packard Enterprise Development Lp|Network nodes in a ring network| CN108291710A|2015-10-16|2018-07-17|豪倍公司|模块化天棚照明器| US10488892B1|2017-10-20|2019-11-26|Smart Modular Technologies, Inc.|Portable module system| US10585689B1|2017-12-20|2020-03-10|Cisco Technology, Inc.|Shared memory interface for application processes|
法律状态:
2011-04-28| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110427 | 2013-01-15| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130115 | 2013-01-23| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130122 | 2013-04-19| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130418 | 2013-05-15| A02| Decision of refusal|Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130514 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|